// #include <iostream>
// using namespace std;

// const int N = 1e5 + 3;
// int h[N], e[N], en[N], idx;

// void insert(int x)
// {
//     int k = (x % N + N) % N, i = h[k];
//     h[k] = ++idx;
//     e[idx] = x;
//     en[idx] = i;
// }

// bool find(int x)
// {
//     int k = (x % N + N) % N;
//     for(int i = h[k]; i; i = en[i])
//         if(e[i] == x) return true;
//     return false;
// }

// int main()
// {
//     int n; cin >> n;
//     while(n--)
//     {
//         char c;
//         int x;
//         cin >> c >> x;
//         if(c == 'I') insert(x);
//         else if(find(x)) cout << "Yes\n";
//         else cout << "No\n";
//     }
//     return 0;
// }

#include <iostream>
#include <cstring>
using namespace std;

const int N = 2e5 + 3, null = 0x3f3f3f3f;
int h[N];

int find(int x)
{
    int k = (x % N + N) % N;
    while(h[k] != x && h[k] != null)
        k = (k + 1) % N;
    return k;
}

int main()
{
    memset(h, 0x3f, sizeof h);
    int n; cin >> n;
    while(n--)
    {
        char c;
        int x;
        cin >> c >> x;
        if(c == 'I') h[find(x)] = x;
        else if(h[find(x)] == x) cout << "Yes\n";
        else cout << "No\n";
    }
    return 0;
}